package com.interview.array;
import java.util.Arrays;
/**
* http://www.geeksforgeeks.org/find-number-of-triangles-possible/
*/
public class NumberOfTrianglesInUnsortedArray {
public int numberOfTriangles(int input[]){
Arrays.sort(input);
int count = 0;
for(int i=0; i < input.length-2; i++){
int k = i+2;
for(int j=i+1; j < input.length; j++){
while(k < input.length && input[i] + input[j] > input[k]){
k++;
}
count += k - j -1;
}
}
return count;
}
public static void main(String args[]){
int input[] = {3, 4, 5, 6, 8, 9, 15};
NumberOfTrianglesInUnsortedArray not = new NumberOfTrianglesInUnsortedArray();
System.out.println(not.numberOfTriangles(input));
}
}